1. Field of the Invention
The present invention relates to a communication control method, a communication system and electronic equipment used for it when communication is performed between plural electronic equipment connected via a communication control bus which can transmit a control signal with it mixed with an information signal such as a serial bus according to IEEE 1394. In detail, the present invention relates to a communication control method and others for satisfactorily controlling electronic equipment on the controlled side by electronic equipment on the controlling side without useless processing by enabling requesting peculiar information such as functional information and icon information from electronic equipment on the controlling side to electronic equipment on the controlled side.
2. Description of the Related Art
A communication system for connecting plural electronic equipment via a communication control bus which can transmit a control signal with it mixed with an information signal such as a serial bus according to IEEE 1394 (hereinafter called IEEE-1394 serial bus) and communicating a control signal and an information signal between these plural electronic equipment is proposed.
FIG. 7 shows an example of a communication system in which plural electronic equipment is connected via IEEE-1394 serial bus.
This communication system 30 is provided with a video tape recorder 31 (hereinafter called VTR), a video tape recorder integrated with a camera 32 (hereinafter called camcorder) and a computer 33 for controlling VTR 31 and the camcorder 32. VTR 31 is connected to the computer 33 via IEEE-1394 serial bus 34 and the camcorder 32 is connected to the computer 33 via IEEE-1394 serial bus 35. A display 33a, a keyboard 33b and a mouse 33c are connected to the computer 33 for a user interface. #A to #C respectively denote the node identification (ID) in the system of the computer 33, the camcorder 32 and VTR 31.
A signal is transmitted between each electronic equipment in the system every predetermined communication cycle as shown in FIG. 8, for example 125 .mu. sec according to time division multiplexing. This transmission of a signal is started by sending a cycle start packet (CSP) showing when electronic equipment called a cycle master should start a communication cycle over a bus.
There is isochronous communication for isochronously transmitting an information signal such as video data and audio data and asynchronous communication for asynchronously transmitting a control signal such as a control command for the type of communication in one communication cycle. An isochronous communication packet is transmitted earlier than an asynchronous communication packet. Plural isochronous data can be differentiated by allocating channel numbers 1, 2, 3, - - - n to each of isochronous communication packets. After the sending of isochronous communication packets is finished, a period till the next cycle start packet is used for the transmission of an asynchronous communication packet.
In asynchronous communication, a control signal in which electronic equipment makes a request to another electronic equipment for something is called a command and equipment on the side of sending this command with it included in a packet is called a controller. Equipment on the side of receiving a command is called a target. The target returns a control signal showing the result of the execution of a command if necessary, that is, a packet including a response to the controller.
These command and response are communicated between one controller and one target and a series of communication started by sending a command and finished by returning a response is called command.transaction. It is determined that the target should return a response as soon as possible after it receives a command, for example within 100 msec. The reason is that processing is delayed when the controller continues waiting for a response for a long time and processing is left undone if no response is returned due to any trouble.
The controller can request the target to execute specific operation and inquire of the target the current state by command transaction. Any electronic equipment in the system can start and finish command transaction. That is, any electronic equipment can function as a controller and a target.
FIG. 9 shows the structure of an asynchronous communication packet. A command and a response have the same structure. As shown in FIG. 9, data in a packet is transmitted downward from the top and from the left to the right in order. A packet is constituted by a packet header and a data block. The standard of the whole packet header and data CRC (a part in which halftone dots are formed) in the data block is determined according to IEEE 1394 and the contents of the data block are written to an address shown by a destination offset between electronic equipment shown by source identification (ID) in the packet header and electronic equipment shown by destination identification (ID).
For example, if a command is sent from the computer 33 to VTR 31 in the communication system 30 shown in FIG. 7, source ID is equivalent to #A, destination ID is equivalent to #C and a destination offset is in memory room allocated as an area for storing a command in VTR 31. If the computer 33 sends a command to any other electronic equipment in the system, any of 16 bits in destination ID is set to `1`. This type of communication is called a broadcast.
A command transaction set (CTS) in the data block in the structure of the asynchronous communication packet shown in FIG. 9 denotes the type of a command language. A command type/A response code (CT/RC) denotes a request in the case of a command and the type of an answer to the request in the case of a response. A header address (HA) denotes which of the whole equipment or a subdevice (in units of function) in equipment requested equipment is in the case of a command and a response is similar to the corresponding command in meaning that requested equipment gives an answer in the case of a response. An operation code (OPC) denotes a command code, that is, a concrete request and the following operand (OPR) denotes a parameter required for the request.
FIG. 10 shows the configuration of a section for communicating the above command and response with VTR 31 of electronic equipment in the system as an example. This VTR 31 is provided with a VRT device 36 and an IEEE-1394 bus sending/receiving block 37.
The VTR device 36 is constituted by a microcomputer and provided with a VTR subdevice 38 for processing a command related to a recording/reproducing system not shown in VTR, a tuner subdevice 39 for processing a command related to a tuner not shown in VTR and a timer subdevice 40 for processing a command related to a timer not shown in VTR. These subdevices 38 to 40 are constituted by the software of the microcomputer.
The IEEE-1394 bus sending/receiving block 37 detects an asynchronous communication packet received via the bus and sends a command included in it to the VTR device 36. When the VTR device 36 receives the command, any of the subdevices 38 to 40 is operated according to the concrete request. For example, if PLAY command addressed to the VTR subdevice 38 is received, the command is passed to the VTR sub device 38. The VTR subdevice 38 execute s processing for con trolling so that the recording/reproducing system is reactivated.
Also, for example, the VTR subdevice 38 monitors various statuses such as a mechanical mode and a time code of the recording/reproducing system and makes a response if necessary. This response is sent from the VTR device 36 to the IEEE-1394 bus sending/receiving block 37. The IEEE-1394 bus sending/receiving block 37 sends the response with it included in an asynchronous communication packet to the bus.
FIG. 11A shows the format configuration of a command and FIG. 11B shows the format configuration of a response. In these cases, CTS is "0" h.
For the type of a request in a command currently defined, that is, a command type, there are four types of (1) CONTROL command for controlling the execution of a function of a communication target, (2) INQUIRY command for inquiring whether a communication target corresponds to specific CONTROL command or not, (3) STATUS command for inquiring a status related to the specific function of a communication target and (4) NOTIFY command for requesting the report if the status of a communication target is varied.
For example, the format of CONTROL command for requesting slow reproduction for the VTR subdevice 38 of VTR 31 shown in FIG. 10 is equal to the format shown in FIG. 11C. In the meantime, the format of a response returned from the VTR subdevice 38 is equal to the format of ACCEPTED response shown in FIG. 11D when the format of the response corresponds to the CONTROL command and the request is accepted and in the meantime, when the format of the response does not correspond to the CONTROL command, it is equal to the format of NOT-IMPLEMENTED response shown in FIG. 11E.
If a computer controls a communication system in which plural audio-visual (AV) equipment is connected to the computer as in the communication system 30 shown in FIG. 7, an icon showing each equipment and a control panel for controlling predetermined equipment are displayed on a display and a user is encouraged to operate.
In this case, the above icon and control panel are prepared by an application program of the computer. Functions with which controlled equipment is provided are displayed in the format of a button and others on the control panel and the computer sends a predetermined command for controlling so that the corresponding function is executed by operating a button to the controlled equipment.
However, actually connected equipment does not necessarily correspond to all functions displayed on the control panel. Therefore, the computer is required to inquire of controlled equipment whether each function displayed on the control panel corresponds to the controlled equipment or not and to reflect the response upon the execution of its own application program. If the application program does not correspond to any of functions with which controlled equipment is provided, the function cannot be operated on the control panel.